﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Model.Auxiliar;
using HRP.Utilidades;

namespace HRP.Private.Funcionarios.Controlos
{
    public partial class Ficha_Perfil : System.Web.UI.UserControl
    {
        public Funcionario FuncionarioActual { get; set; }
        public string FotoFuncionario { get; set; }
        public string ActivoClass { get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            Page.PreRender += Page_PreRender;
        }

        void Page_PreRender(object sender, EventArgs e)
        {
            if (FuncionarioActual != null)
                CarregarPerfil();
            else
                LimparPerfil();
        }


        private void LimparPerfil()
        {
            foreach (Control ctrl in this.Controls)
            {
                if (ctrl.GetType() == typeof(Label))
                {
                    Label lb = (Label)ctrl;
                    lb.Text = string.Empty;
                }
            }
        }

        void CarregarPerfil()
        {
            FotoFuncionario = !string.IsNullOrEmpty(FuncionarioActual.Dados.foto) ? FuncionarioActual.Dados.foto : utilidades.fotoFuncionarioDefault;
            nomeFunc.Text = FuncionarioActual.Dados.nome;
            activoLab.Text = FuncionarioActual.Dados.activo.Value ? "Activo" : "Desactivo";
            ActivoClass = FuncionarioActual.Dados.activo.Value ? "label-success" : "label-danger";
            emailLab.Text = FuncionarioActual.Dados.email;
            telemovelLab.Text = FuncionarioActual.Dados.telemovel;
            depLab.Text = FuncionarioActual.Departamento.departamento;
            cargoLab.Text = FuncionarioActual.Cargo.cargo;
            numFuncLab.Text = FuncionarioActual.Dados.numero_funcionario.ToString();
            var datasContrato = FuncionarioActual.Contrato.data_inicio.Value.ToString(DefinicoesSite.DataFormato);
            if(FuncionarioActual.Contrato.data_fim.HasValue)
            {
                datasContrato+= FuncionarioActual.Contrato.data_fim.Value!=DefinicoesSite.DataFimAbsurda 
                    ? " - " + FuncionarioActual.Contrato.data_fim.Value.ToString(DefinicoesSite.DataFormato) 
                    : string.Empty;

            }
            dataAdmissaoLab.Text = datasContrato;


        }
    }
}